// 游戏主入口
document.addEventListener('DOMContentLoaded', () => {
    // 加载关卡数据
    loadLevelData();
    
    // 初始化关卡选择器
    const levelSelect = document.getElementById('level-select');
    CONFIG.levelList.forEach(level => {
        const option = document.createElement('option');
        option.value = level.id;
        option.textContent = level.name;
        levelSelect.appendChild(option);
    });

    // 创建游戏实例
    const game = new Game();
    
    // 初始化游戏
    game.init();
    
    // 添加关卡切换事件监听
    levelSelect.addEventListener('change', (e) => {
        const selectedLevelId = parseInt(e.target.value);
        const previousLevelId = game.currentLevel?.id;
        
        // 弹出确认对话框
        if (confirm('确定要切换关卡吗？当前进度将不会保存。')) {
            // 用户确认，加载新关卡
            game.loadLevel(selectedLevelId);
        } else {
            // 用户取消，恢复下拉框的选择
            if (previousLevelId) {
                levelSelect.value = previousLevelId;
            }
            // 防止事件继续传播
            e.stopPropagation();
        }
    });
    
    // 添加全局点击事件，结束连接
    document.addEventListener('click', (e) => {
        // 如果点击的是“冲”按钮，结束当前连接
        if (e.target.id === 'attack-button' && game.isConnecting) {
            game.endConnection();
        }
    });
    
});

// 加载关卡数据
function loadLevelData() {
    // 初始化关卡数组，使用对象而不是数组
    CONFIG.levels = {};
    
    // 将所有关卡添加到CONFIG.levels中
    if (typeof LEVEL_1 !== 'undefined') {
        CONFIG.levels[LEVEL_1.id] = LEVEL_1;
    }
    
    if (typeof LEVEL_2 !== 'undefined') {
        CONFIG.levels[LEVEL_2.id] = LEVEL_2;
    }
    
    if (typeof LEVEL_3 !== 'undefined') {
        CONFIG.levels[LEVEL_3.id] = LEVEL_3;
    }

    if (typeof LEVEL_4 !== 'undefined') {
        CONFIG.levels[LEVEL_4.id] = LEVEL_4;
    }

    // 验证关卡数据是否正确加载
    console.log('Loaded levels:', Object.keys(CONFIG.levels));
}